var templateManager = {
    searchUrl: "/generate/hzbgtemplate/pageFindAll",
    saveUrl: "/generate/hzbgtemplate/save",
    editUrl: "/generate/hzbgtemplate/edit",
    removeUrl: "/generate/hzbgtemplate/remove",
    templateInfoLayer: null,
    isAdd: false,
    templateTable: null,
    init: function () {
        layui.use(['table', 'util', 'layer', 'form'], function () {
            templateManager.refreshTable();
            layui.form.on('submit(templateSearch)', templateManager.search);
        });
    },

    // 刷新表格
    refreshTable: function () {
        templateManager.templateTable = hs_utils.renderPageTable(templateManager.tableConfig(), templateManager.eventConfig());
    },

    // 打开模板信息窗口
    openFormLayer: function () {
        templateManager.templateInfoLayer = layui.layer.open({
            type: 1,
            title: '模板信息',
            area: ["450px", "350px"],
            content: $("#templateDiv")
        });
        layui.form.on('submit(templateSave)', templateManager.submit)
    }
    ,

    // 提交数据
    submit: function (data) {
        let url_ = templateManager.editUrl;
        if (templateManager.isAdd) {
            url_ = templateManager.saveUrl;
        }
        hs_utils.post(url_, data.field, function (data) {
            if (data.success) {
                layui.layer.close(templateManager.templateInfoLayer);
                layui.layer.msg("操作成功！");
                templateManager.reloadTable();
            } else {
                layui.layer.msg(data.msg);
            }
        });
        return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
    }
    ,

    // 删除
    remove: function (hbgtId) {
        hs_utils.post(templateManager.removeUrl, {hbgtId: hbgtId}, function (data) {
            if (data.success) {
                layui.layer.msg("操作成功！");
                templateManager.reloadTable();
            } else {
                layui.layer.msg(data.msg);
            }
        });
    },

    // 查询
    search: function (data) {
        templateManager.reloadTable(data.field);
        return false;
    },

    // 重载表格
    reloadTable: function (data) {
        if (data) {
            templateManager.templateTable.reload({
                where: data
            });
        } else {
            templateManager.templateTable.reload();
        }
    },

    // 表格参数
    tableConfig: function () {
        return {
            elem: '#templateTable',
            url: templateManager.searchUrl, //数据接口
            toolbar: '#templateTableToolBar',
            height: 600,
            cols: [[ //表头
                {field: 'hbgtName', title: '模板名称', align: "center"},
                {field: 'userNum', title: '用户数', align: "center", width: 80},
                {
                    field: 'authority', title: '权限', align: "center", width: 60,
                    templet: function (d) {
                        if (d.authority == 1) {
                            return "私有";
                        } else if (d.authority == 2) {
                            return "公开";
                        }
                    }
                },
                {
                    field: 'hbgtId', title: '操作', align: "center", width: 90,
                    toolbar: "#templateTableItemToolBar"
                }
            ]]
        };
    },

    // 表格事件参数
    eventConfig: function () {
        return {
            filter: 'templateTable',
            toolbar: [
                {
                    name: 'add', handler: function (obj) {
                        $('#templateForm')[0].reset();
                        templateManager.isAdd = true;
                        templateManager.openFormLayer();
                    }
                }
            ],
            tool: [
                {
                    name: 'remove', handler: function (obj) {
                        layui.layer.confirm('真的删除行么', function (index) {
                            layui.layer.close(index);
                            //向服务端发送删除指令
                            templateManager.remove(obj.data.hbgtId);
                        });
                    }
                },
                {
                    name: 'edit', handler: function (obj) {
                        layui.form.val('templateForm', obj.data);
                        templateManager.isAdd = false;
                        templateManager.openFormLayer();
                    }
                }
            ],
            other: [
                {
                    name: 'row', handler: function (obj) {
                        // 单击事件
                        templateParamManager.reloadTable({hbgtId: obj.data.hbgtId});
                        templateStructureManager.refreshTree({hbgtId: obj.data.hbgtId});
                    }
                }
            ]
        };
    }
}
templateManager.init();